/**
 * 高阶函数 - 函数作为参数
 */

function forEach (array, fn) {
  for (let i = 0; i < array.length; i++) {
    fn(array[i]);
  }
}

// 测试
let arr = [1, 3, 5, 7, 9];
forEach(arr, (item) => {
  console.log(item)
});
// 1 3 5 7 9

function filter (array, fn) {
  let res = [];
  for(let i = 0; i < array.length; i++) {
    if (fn(array[i])) {
      res.push(array[i]);
    }
  }
  return res;
}

//  测试
let arr2 = [1, 4, 7 ,3, 9];
let r = filter(arr2, (item) => {
  return item % 3 === 0;
});
console.log(r);
// [3, 9]
